Measurement of timing skew between two digital signals

ABSTRACT

A system for measuring a timing skew between two digital signals may include a clock generator for generating a time measurement clock, and a pulse-to-digital converter for converting the timing skew into an equivalent digital coded value after correcting for internal logic delays. The system may further include a register bank for storing the digital coded values, and a controller for generating control signals and sequences for controlling the operation of the pulse-to-digital converter and the register bank.

FIELD OF THE INVENTION

[0001] The present invention relates to the field of electronic devices and, more particularly, to memories such as static random access memories (SRAMs), dynamic RAMs (DRAMs), read only memories (ROMs), and dynamic programmable logic arrays (PLAs), for example. Moreover, the invention relates to a method and system for measuring timing skew between two digital signals, such as for the measurement of an access time of a memory device.

BACKGROUND OF THE INVENTION

[0002] Perhaps the most critical timing requirement for any memory element is its access time. As device size continues to shrink, access time is also decreasing, and an accurate measurement of access time is becoming increasingly complex.

[0003] One conventional method for measuring access time is to measure the access time from an input pad to an output pad using an external tester and subtract out any extra path delay. Such a test configuration is illustratively shown in FIG. 1. The external tester measures the time interval between application of the input signals at the input pads and the sensing of the output signal at the output pad. This time interval may be defined as follows:

Ttotal=T(input pad)+T(input glue interface)+Taa+T(MUX)+T(output glue interface)+T(output pad).

[0004] To extract the actual access time, the tester then switches the MUX to bypass the memory element and measures the time delay once again from the input pad to the output pad. This time interval is given by:

Tdummy=T(input pad)+T(input glue interface)+T(MUX)+T(output glue interface)+T(output pad),

[0005] where Taa=(Ttotal−Tdummy), and Taa is the required access time.

[0006] The above-described prior art method suffers from several drawbacks. First, measurement of the read access time for zero (Read 0) is not advisable for positive clock triggered memories, and vice-versa. That is, this system is not accurate for a Read 0 measurement since at the time of Ttotal calculation for Read 0, blocks from the input pad to the memory clock input are transferring clock rising edges, whereas blocks from the memory output to the output pad are transferring the 1 to 0 transition. This can be represented as:

Ttotal=Tr(Input Pad)+Tr(Input Core logic)+Taa+Tf(Output Core logic)+Tf(Output Pad).

[0007] When Tdummy is calculated the full system is transferring the positive edge of the clock, thus:

Tdummy=Tr(Input pad)+Tr(Input Core Logic)+Tr(Output Core Logic)+Tr(Output pad); and

Taa=Ttotal−Tdummy={Tr(Input Pad)+Tr(Input Core logic)+Taa+Tf(Output Core logic)+Tf(Output Pad)}−{Tr(Input pad)+Tr(Input Core Logic)+Tr(Output Core Logic)+Tr(Output pad}=Taa+{Tf(Output Core logic)+Tf(Output Pad)−Tr(Output Core Logic)+Tr(Output pad)},

[0008] where Tr=rise time and Tf fall time. Accordingly, the error in the Read 0 measurement of a positive edge triggered memory is:

ERROR={Tf(Output Core logic)+Tf(Output Pad)−Tr(Output Core Logic)+Tr(Output pad)}.

[0009] Another disadvantage of the above-described prior art approach is that the test pattern is established through the automatic test equipment (ATE). This increases the time of testing for embedded systems and hence increases the per chip cost of the product. Furthermore, IMS/HP/Teradyne, etc. testers are generally used for applying the test pattern in this system. These testers have input pattern delivery error of ±150 ps and output sampling of ±150 ps. This error gets added to the total error of the system, which is +300 ps. Further still, the path mismatch between inputs A and B and the output of the multiplexer MUX introduces another potential source of inaccuracy.

SUMMARY OF THE INVENTION

[0010] An object of the present invention is to mitigate the above problems and provide a method and a system for accurate measurement of timing skew between two digital signals.

[0011] To achieve this objective, this invention provides a system for measurement of timing skew between two digital signals which may include a clock generator or means for generating a time measurement clock, and a pulse-to-digital-converter or means for converting the timing skew into an equivalent digital coded value after correcting for internal logic delays. The system may also include a register bank or means for storing the digital coded values, and a controller or means for generating control signals and sequences for controlling the operation of the pulse-to-digital converter and the register bank.

[0012] By way of example, the clock generator and register bank may be implemented using conventional components. Further, the pulse-to-digital converter may be a digital circuit including a converter or means for converting the timing skew between the two digital signals into a pulse, a counter or means gated by the pulse for counting clock pulses from the clock generation means, and a circuit or means for determining internal logic delays by operating the internal logic circuit as an oscillator and determining its period. Moreover, the pulse-to-digital converter may also include a circuit or means for correcting the counted clock pulses for the internal logic delay, and a circuit or means for converting the count into a specified digital coded output.

[0013] Also by way of example, the controller may be a finite state machine (FSM) that generates digital control signal patterns corresponding to the desired measurement conditions. The controller may also include a circuit or means for generating the two digital signals whose timing skew is to be measured.

[0014] The system may advantageously be integrated with a memory device and used for measuring its access time. In particular, the system may be used as a digital comparator in a phase locked loop (PLL), for example. The system may thus be used to selectively measure read access time for a logic 0 data value and read access time for a logic 1 data value, for example.

[0015] A method aspect of the invention is for measuring the timing skew between two digital signals and may include generating a timing clock, converting the timing skew into a pulse using a conversion circuit, and counting the clock pulses during the active state of the pulse. The method may further include determining internal delays introduced by the conversion to the pulse, correcting the count value for the timing delays introduced during conversion to the pulse, converting the corrected count value into a desired digital code, and storing the digital code value.

[0016] The internal delays may be determined by operating the conversion circuit as an oscillator, measuring the time period of the oscillator, and deriving the delay period from the measured time period. The method may also include generating the two digital signals whose skew is to be measured. The method may advantageously be used for measuring memory access time, as well as for digital comparison in a PLL.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The invention will now be explained with reference to the accompanying drawings, in which:

[0018]FIG. 1 is a schematic block diagram of a prior art measurement device for measuring the access time of a memory element;

[0019]FIG. 2 is a schematic block diagram of a system for measuring timing skew in accordance with the present invention;

[0020]FIG. 3 is a flow diagram of a method in accordance with the present invention;

[0021]FIG. 4 is a waveform diagram illustrating simulation results for the controller of the system of FIG. 2;

[0022]FIG. 5 is a schematic block diagram illustrating in greater detail the pulse-to-digital converter of the system of FIG. 2;

[0023]FIG. 6 is a waveform diagram illustrating simulated waveforms associated with the pulse generator of the pulse-to-digital converter of FIG. 5;

[0024]FIG. 7 is a waveform diagram illustrating simulated waveforms associated with the period detector of the pulse-to-digital converter of FIG. 5;

[0025]FIG. 8 is a waveform diagram illustrating simulated waveforms associated with the digital converter of the pulse-to-digital converter of FIG. 5; and

[0026]FIG. 9 is a schematic block diagram illustrating implementation of the present invention in a PLL.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0027] Turning now to FIG. 2, a schematic block diagram of the system according to the present invention is illustratively shown. The system is capable of measuring the access time of memories, on-chip, without any external tester interface. The system is also programmable for different types of access times to be measured. TABLE 1 Different Access Times ACCESS Times Definition READ 0 Read logic 0 access time READ 1 Read logic 1 access time WRITE 0 Write through logic 0 access time WRITE 1 Write through logic 1 access time

[0028] The system can be programmed by a single pin mode as follows. If mode=0 the Read 0, Read 1 access times are measured and by default mode is kept at 0. If mode=1, then Read 0, Read 1, Write 0, Write 1 access times are measured.

[0029] The system illustratively includes the following blocks. The clock generator is used for generating the BISATC system clock. The controller generates patterns for testing the memory (i.e., clock, address, data, write and read enable) for a specific access time to be measured which is programmed before starting the system by the mode signal.

[0030] Furthermore, a pulse-to-digital converter converts the transition difference between the clock and the output Q of the memory into a equivalent pulse width, and this pulse width is converted into digital format (binary, gray, etc.). The type of transition on the output Q depends on the type of access time being measured. The type of transition expected on the output Q is controlled by the controller, and this information is also passed to the pulse-to-digital converter.

[0031] Additionally, a register bank is included for storing digital equivalent access times. The number of words needed in the register bank depends on the mode in which the system is going to work. If the system is operated in mode=0, then two words are preferably used. Otherwise, four words are preferably used. Further, another word may be used to store the internal delay inserted by the pulse-to-digital converter for measuring the access time, which will be subtracted from the total access time as a correction factor.

[0032] As illustratively shown in FIG. 3, the sequence of actions starts with setting of the mode (Block 3.1). The mode is then checked (Block 3.2). If the mode=0, then only read access for both 0 and 1 are to be determined (Block 3.3). If mode=1, then both read and write access times are to be measured (Block 3.4). The controller then generates the appropriate signal patterns (Block 3.5) and obtains one of the desired access times (Block 3.6). This access time is then stored (Block 3.7). The system then checks to see whether all access times have been measured (Block 3.8). If not, the sequence of pattern generation and measurement is repeated, else the measurement circuitry is converted into an oscillator (Block 3.9) and its oscillation period is measured (3.10) to determine its internal delays. The final corrected access time values are then converted and stored as final digital values (Block 3.11).

[0033] Simulation results for the case in which mode 0 are illustrated in FIG. 4. In this simulation the controller's finite state machine (FSM) is memory dependent. It should be noted that a different FSM may be desirable for synchronous and asynchronous memories, for example. The FSM is responsible for generating patterns for different access times (see Table 1) of memory. This block is in feedback with the pulse-to-digital converter.

[0034] The FSM generates patterns for creating the environment for Read 1 access time and then enables the pulse-to-digital converter for measuring Read 1 access time. The pulse-to-digital converter does the measurement of Read 1 access time when the outputs of the FSM are stable. Once Read 1 access time is measured by the pulse-to-digital converter, it activates the FSM again, and the FSM generates a STORE signal for storing the digital data generated by the pulse-to-digital converter. This is repeated for Read 0 also, and the digital equivalent of Read 0 is stored at the rising edge of the STORE signal generated by the FSM. The FSM/controller generates a last cycle which is used for measuring the pulse-to-digital converter internal delay, which is subtracted from all the access times measured. Once all the measurement data is stored in the register bank, the FSM generates a DONE signal which shows that the measurement is completed and the data from the register bank can be read.

[0035] The block level implementation of the pulse-to-digital converter is illustratively shown in FIG. 5. The pulse-to-digital converter illustratively includes a pulse generator 5.1, a period detector 5.2, and a digital converter 5.3. The pulse generator 5.1 extracts the difference between the transitions on the clock and Q pins of the memory. That is, it generates a pulse equivalent to the access time of the memory, plus an additional delay from the signal ck.

[0036] To extract the internal logic delay, the circuit is made to oscillate, which gives a frequency equivalent to the (1/(2·Tlogic), where Tlogic is the logic delay of the circuitry. The internal logic delay is inserted along with the access time measurement. The period of the frequency is 2·Tlogic, and to extract this period out of the oscillating frequency the period detector 5.2 is used. More particular, the period detector 5.2 is used to extract one period out of the oscillating clock signal.

[0037] The extracted period is converted into digital format by the digital converter 5.3, which also converts the data in pulse form into digital data. Normally this can be done with a high frequency clock. The digital data available after conversion can again be converted to time domain based upon the frequency of the clock used for the conversion. This block sends back a feedback signal to the FSM when the conversion is done. At the same time it also holds the converted data until it gets back the feedback signal from the FSM. The FSM generates the STORE signal which caused the converted data to be stored. Once the data is stored, the FSM is initialized for the next conversion.

[0038] The output of the pulse generator including the delay added by the internal circuitry is illustratively shown in FIG. 6. Further, the signal obtained by oscillating the pulse generation circuit to obtain its internal logic delay as a time period is shown in FIG. 7. Additionally, the set of waveforms corresponding to the measurement of memory access time including the timing signals for accessing the memory for read and write operations and the count values corresponding to the measured access time is illustratively shown in FIG. 8.

[0039] Turning now additionally to FIG. 9, the application of the invention to a PLL is illustrative shown. The BISATC 9.1 converts the timing skew between a reference and the output of the voltage controller oscillator VCO 9.4 into a binary coded output for comparison by a binary comparator 9.2. The output of the binary comparator 9.2 controls a charge pump 9.3 for correcting the VCO 9.4 output.

[0040] Based on the foregoing, numerous advantages of the present invention will be appreciated by those of skill in the art. For example, no particular constraints are imposed on the test equipment, i.e., no special pattern is required. Further, an on-chip pattern generator for memory makes the access time characterization independent of the tester. In addition, accurate measurement of the impact of operating conditions (e.g., voltage, temperature, etc.) on access time may be made. Moreover, the time required for implementation of the BISATC circuit with the embedded device is reduced, and the BISATC circuit can measure small access times (e.g., a transition between two signals) as well as large access times with the relatively high accuracy. 

That which is claimed is:
 1. A system for measurement of timing skew between two digital signals comprising: clock generation means for generating time measurement clock, pulse-to-digital-converter means for converting the timing skew into an equivalent digital coded value after correcting for internal logic delays, register bank means for storing the said digital coded values, and controller means for generating control signals and sequences for controlling the operation of said pulse-to-digital converter means and said register bank means.
 2. A system as claimed in claim 1 wherein said clock generation means is any known clock generation means.
 3. A system as claimed in claim 1 wherein said pulse-to-digital converter means is a digital circuit comprising: means for converting the timing skew between said two digital signals into a pulse, counting means gated by said pulse for counting clock pulses from said clock generation means, means for determining internal logic delays by operating the internal logic circuit as an oscillator and determining its period, means for correcting the counted clock pulses for the internal logic delay, and means for converting the count into a specified digital coded output.
 4. A system as claimed in claim 1 wherein said register means is any known register means.
 5. A system as claimed in claim 1 wherein said controller is a Finite State Machine (FSM) that generates digital control signal patterns corresponding to the desired measurement conditions.
 6. A system as claimed in claim 1 wherein said controller includes means to generate the two digital signals whose timing skew is to be measured.
 7. A system as claimed in claim 1 integrated with a memory device and used for measuring its access time.
 8. A system as claimed in claim 1 used as a digital comparator in a phase locked loop.
 9. A system as claimed in claim 7 used to selectively measure read and write access time for ‘0’ data value and read and write access time for ‘1’ data value.
 10. A method for measuring the timing skew between two digital signals comprising the steps of: generating a timing clock, converting said timing skew into a pulse using a conversion circuit, counting said clock pulses during the active state of said pulse, determining internal delays introduced by said conversion to said pulse, correcting the obtained count value for the timing delays introduced during conversion to said pulse, converting the corrected count value into a desired digital code, and storing said digital code value.
 11. A method as claimed in claim 10 wherein said internal delays are determined by: operating said conversion circuit as an oscillator, measuring the time period of said oscillator, and deriving the delay period from said measured time period.
 12. A method as claimed in claim 10 including generation of the two digital signals whose skew is to be measured.
 13. A method as claimed in claim 10 used for the measurement of memory access time.
 14. A method as claimed in claim 10 used as a digital comparator in a Phase Locked Loop. 